package graphicsMethod;

import javax.swing.*;
import java.awt.*;

@SuppressWarnings({"all"})
public class GraphicsMethod extends JFrame {//JFrame为一个窗口

    public static void main(String[] args) {
        new GraphicsMethod();
    }

    //定义一个面板
    private MyPanel mp = null;

    public GraphicsMethod() {//构造器
        //初始化面板
        mp = new MyPanel();
        //把面板放入到窗口中
        this.add(mp);
        //设置窗口的大小
        this.setSize(1200, 900);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当关闭窗口时，程序完全退出
        this.setVisible(true);//可以显示
    }

}
//JPanel为面板组件
class MyPanel extends JPanel {
    //Graphics 提供了很多绘图方法
    //可以把 g 理解成一支画笔
    @Override
    public void paint(Graphics g) {
        super.paint(g);//调用父类的方法完成初始化
        //System.out.println("方法被调用");
        //画一个圆形
        g.drawOval(10, 10, 100, 100);//x和y为左上角的位置
        //画直线
        g.drawLine(10,10,160,120);
        //画矩形边框
        g.drawRect(200,10,120,100);
        //填充矩形
        g.setColor(Color.cyan);//先设置画笔颜色
        g.fillRect(400,10,100,100);
        //填充椭圆
        g.setColor(Color.MAGENTA);//设置画笔颜色
        g.fillOval(600,10,160,100);
        //放置图片
        Image image = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/img/test001.png"));
        g.drawImage(image,10,200,341,178,this);
        //输入文字
        g.setColor(Color.red);
        g.setFont(new Font("楷体",Font.BOLD,50));//设置字体,Font.BOLD:粗体
        g.drawString("北京你好",10,470);//x和y的位置为左下角
    }
}